const db = require('../db/index')
const bcrypt = require('bcryptjs')
    //获取信息
module.exports.getUserInfo = function(req, res) {
        const sql = `select *from ev_users where id=?`
        console.log(req.str, 'user');
        // 注意：req 对象上的 user 属性，是 Token 解析成功，express-jwt 中间件帮我们挂载上去的
        db.query(sql, req.user.id, (err, result) => {
            if (err) return res.cc(err);
            if (result.length !== 1) return res.cc('用户查询不到');
            res.send({
                status: 0,
                mess: req.user,
                message: '查询成功',

            })
        })

    }
    //更新用户信息
module.exports.updateUserinfo = function(req, res) {
    const userinfo = req.body;
    const SqlUpdate = 'update ev_users set ? where ID=?';
    db.query(SqlUpdate, [userinfo, userinfo.id], (err, result) => {
        if (err) return res.cc(err);
        if (result.affectedRows !== 1) return res.cc('更新失败');
        res.send({
            status: 0,
            message: '更新成功'
        })
    })

}

//重置密码

module.exports.updatePwd = function(req, res) {
    // 1. 根据 id 查询用户是否存在
    const sql = `select * from ev_users where id=?`;
    db.query(sql, req.user.id, (err, result) => {
        // console.log(req.user.id);
        if (err) return res.cc(err);
        if (result.length !== 1) return res.cc('用户不存在！');
        // console.log(result);
        // TODO：判断提交的旧密码是否正确
        // 可使用 bcrypt.compareSync(提交的密码，数据库中的密码) 方法验证密码是否正确
        // 判断提交的旧密码是否正确
        const compareResult = bcrypt.compareSync(req.body.oldpwd, result[0].password)
        if (!compareResult) return res.cc('原密码错误！')
        const newPwd = bcrypt.hashSync(req.body.newpwd, 10);
        const sql = `update ev_users set password=? where id=?`;
        db.query(sql, [newPwd, req.user.id], (err, result) => {
            if (err) return res.cc(err);
            if (result.affectedRows !== 1) return res.cc('更新失败')
            res.send({
                status: 0,
                message: '重置成功'
            })
        })

    })
}

// 更新头像
module.exports.updateAvatar = function(req, res) {
    const sql = 'update ev_users set user_pic=? where id=?'
    db.query(sql, [req.body.avatar, req.user.id], (err, result) => {
        if (err) return res.cc(err);
        if (result.affectedRows !== 1) return res.cc('更新失败')
        res.send({
            status: 0,
            message: '重置成功'
        })
    })

}